Skip to content

feat(runtime): preserve reasoning and supported answer text - #1159

Merged
blove merged 2 commits into
mainfrom
codex/message-projections
Sep 24, 2026
Merged

blove merged 2 commits into
mainfrom
codex/message-projections

Conversation

@blove

@blove blove commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

The shared runtime dropped backend reasoning and answer text supplied as string-array entries, output_text, or untyped text blocks. Messages now retain a readonly reasoning string and project supported answer text in wire order, while keeping reasoning, media and tool blocks out of the answer.

Reasoning uses explicit event semantics: deltas append, present snapshots replace, and canonical messages/history clear omissions. Missing interim data retains reasoning; independent generations start fresh, while reconnecting the same physical run preserves captured data. Existing ownership and equality make reasoning-only changes observable and equal histories stable. Answer snapshot behavior, message identity and tool authority remain unchanged.

Verification:

  • 923 runtime tests in 50 files and runtime/public type checks; 481 public LangGraph tests in 22 files and build.
  • Core tests/types/lint, native package builds, 329 parity script tests, inventory, source boundaries and version checks.
  • 27 installed browser scenarios per framework, strict declarations and production builds. Removing reasoning projection or restoring the narrow text helper fails the expected assertion in both consumers; exact source restoration and subsequent runs pass.
  • Parent independently reran runtime/types and all 54 installed scenarios. Chrome MCP React and in-app Angular walkthroughs verified saved/equal/empty history, separate reasoning and citations, two resumes, canonical clearing and disposal with clean consoles.
  • Independent compliance reviews of each slice and a final quality review of the combined change. Source, artifact, negative-control and manual evidence is recorded additively.
  • Quality review caught a double-read accessor defect. Seven regressions reproduced coercion/session interruption; accepted block text is now captured once and excluded block getters stay unread. Both independent reviews, runtime/types, installed consumers and manual walkthroughs passed again after the fix.

This is a private runtime migration increment, without a public backend-root cutover, renderer, rich-content contract, timing cache, dependency change or release. The earlier reasoning package evidence explicitly records a later README-only edit; the combined verification rebuilt the packages afterward.

@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 24, 2026 7:27pm UTC

Request Review

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove enabled auto-merge (squash) September 24, 2026 19:25

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@blove
blove merged commit 2c87127 into main Sep 24, 2026
77 of 78 checks passed

This branch was successfully deployed

1 active deployment
Preview – threadplane — 9584941a Deployed Sep 24, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant